Content-triggered highlight recording

ABSTRACT

Systems and methods for selectively recording and bookmarking a portion of broadcast media content include receiving a video stream containing the broadcast media content, determining a video segment of the video stream to be output to a display device, and performing OCR on characters present within the video segment. The systems and methods may further include detecting a trigger event in the OCR of the video segment and creating a digital bookmark corresponding to the detected trigger event. The systems and methods may include generating a recording of a portion of the broadcast media content, whereby the recording begins prior to the trigger event and concludes after the trigger event, and storing the digital bookmark associated with the generated recording.

CROSS-REFERENCES TO RELATED APPLICATIONS

N/A

BACKGROUND

Digital video recording (“DVR”) allows users to record televisionprograms for viewing at a later time. Users may specify a broadcastchannel and/or a broadcast time of the television program for DVR.During playback of the DVR, users may wish to skip forward to moredesirable portions of the recorded television program. For example,users may wish to view only scoring plays in a recorded soccer match. Inorder to do so, users must manually browse or fast forward through therecording in order to locate and watch those particular segments. Thismanual process is cumbersome and time-consuming. There is a need for amore convenient and efficient approach for viewing specific portions ofrecorded media content. This application is intended to address suchissues and provide related advantages.

SUMMARY

In general, the systems and methods disclosed herein are directed torecording media content, and more particularly, to selectively recordingthe media content based on one or more trigger events detected in themedia content.

In one aspect, the present disclosure provides a method for selectivelyrecording a portion of broadcast media content. The method may includereceiving, by a television receiver, a video stream containing thebroadcast media content, whereby the video stream may be received via atuner of the television receiver. The method may include determining, bythe television receiver, a video segment of the video stream to beoutput to a display device, and/or performing, by the televisionreceiver, OCR on characters present within the video segment. Further,the method may include detecting, by the television receiver, a triggerevent based on the OCR of the video segment, whereby the trigger eventmay include an identified change detected in the OCR of the videosegment. The method may include, after detecting the trigger event,creating, by the television receiver, a digital bookmark correspondingto the trigger event being detected. Still, the method may include, inresponse to detecting the trigger event, generating, by the televisionreceiver, a recording of a portion of the broadcast media content,whereby the recording of the portion of the broadcast media content maybegin prior to the trigger event and may conclude after the triggerevent. The method may include storing, by the television receiver, thedigital bookmark associated with the generated recording.

Various embodiments of the present method may include one or more of thefollowing features. The method may include determining, by thetelevision receiver, an availability status of the tuner for receivingthe video stream for OCR, and/or dedicating, by the television receiver,the tuner for receiving the video stream containing the broadcast mediacontent for OCR. The method may include outputting, by the televisionreceiver, the video segment at a monitoring location of a display screenon the display device. The method may include receiving, by thetelevision receiver, user input for specifying a monitoring location ofa display screen on the display device, and/or determining, by thetelevision receiver, the video segment of the video stream for OCR basedon the specified monitoring location.

In another example feature of the method, the video stream may include asports competition, the video segment may include a score display, thecharacters may include a score of the sports competition, and/or theidentified change may include a change in the score of the sportscompetition. The method may include distinguishing, by the televisionreceiver, the score from other data in the video stream to determine thevideo segment, whereby the other data may include numerical values. Inanother example of the method, the other data may include at least oneof a time remaining and a game interval of the sports competition.

Other features of the method may include continuously performing, by thetelevision receiver, OCR on the characters present within the videosegment at predetermined time intervals throughout a broadcast time ofthe broadcast media content. The method may include detecting, by thetelevision receiver, a break in the video segment, whereby the break mayinclude additional media content not desirable for monitoring, pausing,by the television receiver, the OCR on the video segment during thedetected break, detecting, by the television receiver, an end of thebreak, and/or after determining the break has ended, resuming, by thetelevision receiver, the OCR on the video segment. In one example of themethod, the break in the video segment may include one or morecommercial events. In another example of the method, detecting the breakin the video segment may include determining, by the televisionreceiver, a change in a content type of the video segment.

In another example feature, the method may include receiving, by thetelevision receiver, user input for defining the trigger event to detectin the OCR of the video segment. The method may include receiving, bythe television receiver, user input for selecting a category type of thebroadcast media content for OCR, identifying, by the televisionreceiver, that the video stream matches the selected category type,and/or monitoring, by the television receiver, the video stream for theuser-defined trigger event. The method may include inserting, by thetelevision receiver, the digital bookmark at a position in a file of thevideo stream, whereby the position may be based on a location of thedetected trigger event in the file.

Still, other example features of the method may include receiving, bythe television receiver, user input for selecting a first time durationfor storing a buffer portion of the video stream prior to the detectedtrigger event, whereby a length of the buffer portion is based on thefirst time duration. The method may include receiving, by the televisionreceiver, user input for selecting a second time duration for recordinga trailing portion of the video stream immediately following thedetected trigger event, whereby a length of the recorded trailingportion is based on the second time duration. The method may includerecording, by the television receiver, the video stream for a durationof a broadcast time of the broadcast media content, and/or creating, bythe television receiver, a plurality of digital bookmarks marking aplurality of trigger events detected in the recorded video stream. Inanother example, the method may include outputting, by the televisionreceiver, a bookmark display for the digital bookmark on the displaydevice, whereby the bookmark display may be configured to receive userinput for selecting the digital bookmark and displaying the recording.

In another aspect, the present disclosure provides a computer-readablemedium having stored thereon a series of instructions. When executed bya processor, the series of instructions may cause the processor toselectively record a portion of broadcast media content. The series ofinstructions may include receiving, by a television receiver, a videostream containing the broadcast media content, whereby the video streammay be received via a tuner of the television receiver, determining, bythe television receiver, a video segment of the video stream to beoutput to a display device, and/or performing, by the televisionreceiver, OCR on characters present within the video segment. The seriesof instructions may include detecting, by the television receiver, atrigger event based on the OCR of the video segment, whereby the triggerevent may include an identified change detected in the OCR of the videosegment. The series of instructions may include, after detecting thetrigger event, creating, by the television receiver, a digital bookmarkcorresponding to the trigger event being detected. Still, the series ofinstructions may include, in response to detecting the trigger event,generating, by the television receiver, a recording of a portion of thebroadcast media content, whereby the recording of the portion of thebroadcast media content may begin prior to the trigger event andconclude after the trigger event. The series of instructions may includestoring, by the television receiver, the digital bookmark associatedwith the generated recording.

In yet another aspect, the present disclosure provides a system forselectively recording a portion of broadcast media content. The systemmay include one or more processors and a memory communicatively coupledwith and readable by the one or more processors. The memory may havestored therein processor-readable instructions that, when executed bythe one or more processors, cause the one or more processor to receive,by a television receiver, a video stream containing the broadcast mediacontent, whereby the video stream may be received via a tuner of thetelevision receiver. The processor-readable instructions may cause theprocessor to determine, by the television receiver, a video segment ofthe video stream to be output to a display device, perform, by thetelevision receiver, OCR on characters present within the video segment,and/or detect, by the television receiver, a trigger event based on theOCR of the video segment, whereby the trigger event may include anidentified change detected in the OCR of the video segment. Theprocessor-readable instructions may cause the processor to, afterdetecting the trigger event, create, by the television receiver, adigital bookmark for the video segment containing the trigger event,whereby the digital bookmark may correspond to the trigger event. Still,the processor-readable instructions may cause the processor to, afterdetecting the trigger event, generate, by the television receiver, arecording of a portion of the broadcast media content, whereby therecording may begin prior to the trigger event and may conclude afterthe trigger event. The processor-readable instructions may cause theprocessor to store, by the television receiver, the digital bookmarkassociated with the generated recording.

In another aspect, a method for bookmarking media content comprisesdetermining, by a television receiver, a portion of the media content tomonitor for a trigger event and/or monitoring, by the televisionreceiver, the determined portion of the media content for the triggerevent. The method may include detecting, by the television receiver, thetrigger event in the media content, and/or after detecting the triggerevent, creating, by the television receiver, a digital bookmarkcorresponding to the trigger event being detected.

Various embodiments of the method may include one or more of thefollowing features. The determined portion of the media content tomonitor may comprise closed-caption data of the media, and the triggerevent may comprise one or more keywords detected in the closed-captiondata. The determined portion of the media content to monitor maycomprise a video segment of the media content being output to a displayscreen operatively connected to the television receiver, and/ordetecting the trigger event may comprise detecting a change in the videosegment based on an OCR of the video segment. The media content maycomprise a pre-recorded media content. The digital bookmark may be addedto a digital bookmarks file and point to a location of the trigger eventin the pre-recorded media content. Further, after detecting the triggerevent, the method may include creating, by the television receiver, arecording of the trigger event being detected, wherein the recording maybegin prior to the trigger event and conclude after the trigger event.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows an example method according to the present disclosure;

FIG. 2 shows an example satellite system according to the presentdisclosure;

FIG. 3 shows an example block diagram for a television receiveraccording to the present disclosure;

FIG. 4 shows another example method using optical character recognition(“OCR”) according to the present disclosure;

FIG. 5 shows yet another example method using closed caption dataaccording to the present disclosure;

FIG. 6 shows an example user interface including a bookmarks displayaccording to the present disclosure; and

FIG. 7 shows an example block diagram for a computing system upon whichvarious features of the present disclosure may be provided.

It is noted that any of the elements and/or steps provided in the blockdiagrams, flow diagrams, method diagrams, and other illustrations of thefigures may be optional, replaced, and/or include additional components,such as combined and/or replaced with other elements and/or steps fromother figures and text provided herein. Various embodiments of thepresent invention are discussed below, and various combinations ormodifications thereof may be contemplated.

DETAILED DESCRIPTION

In general, the systems and methods disclosed herein provide forselective recording of media content, such as broadcast media contentcontaining television programs that may be received at a televisionreceiver. In one example, the television receiver, or any deviceimplementing the systems and methods disclosed herein, may monitor atelevision program of the received media content for highlight events inthe media content. Such highlight events may be user-defined and maygenerally include specific portions and/or scenes of the televisionprogram that are of particular interest to the user, e.g. scoring playsin a soccer, football, and/or baseball game being received by thetelevision receiver. The systems and methods disclosed herein maymonitor user-specified media content to detect such user-specifiedhighlight events, also referred to as “trigger events,” via opticalcharacter recognition (“OCR”) of a portion of a display screen thatmight contain the trigger event, e.g. an upper or lower portion of thedisplay screen where game scores are displayed. In another aspect, thesystems and methods disclosed herein may detect such trigger events bymonitoring closed caption data of the media content for the triggerevents, e.g. detecting trigger-based words such as “Touchdown!” inclosed captioning of the sports game being received at the televisionreceiver.

Upon detection of a change in the score, the systems and methodsdisclosed herein may index the trigger event, e.g. scoring play, and/orinitiate recording of the trigger event and any media contentsurrounding the event, while not recording and/or not indexing othernon-trigger media content that may also be received at the televisionreceiver. In this way, the user may quickly find such scoring playswhile viewing a recording of the media content via DVR. It is noted thatthe systems and methods disclosed herein for content-trigger highlightrecording may be applicable for any type of media content, and is notlimited to sports broadcasts and/or television programs.

In another example, the systems and methods disclosed herein may providefor selective playback of a pre-recorded recording, or a recording thatwas previously made. For example, the systems and methods herein maybookmark and/or index various portions of the entire pre-recordedrecording to allow a user to skip through the recording. In one example,the recording may include a soccer match. The user may watch the entirerecorded soccer match and/or skip through the soccer match viabookmarks, which may be determined based on OCR of a score banner in thesoccer match. In still another example, OCR of the score banner maypermit the systems and methods disclosed herein to monitor for “close”trigger events, e.g. exciting portions of the media content leading upto any trigger events. Merely by way of example, the systems and methodsdisclosed herein may detect, based on OCR of the score banner, that thesoccer match is tied with two minutes remaining. The systems and methodsdisclosed herein may bookmark this segment as an “interesting” segment.Such bookmarked segments may be any length as determined by the user,and/or stopped based on a change in the OCR, e.g. when the score is nolonger tied and/or the game is over.

Various benefits offered by the systems and methods disclosed herein maybe contemplated. The systems and methods may provide for a moreconvenient and efficient approach for viewing specific portions ofrecorded media content, and/or only recording specific portions of mediacontent. Manual operation of locating and viewing media content may beeliminated and/or improved, e.g. less time-consuming and moreuser-friendly. For instance, users may skip ahead on relativelyslow-moving or less interesting media content to a few user-selected,highlight events of the media content, which are recorded and/or stored,selectively, by the television receiver. It is contemplated thatindexing, also referred to herein as bookmarking, may be automatic sothat the user is not required to view remaining portions while skippingthrough a television program that is recorded on DVR. Merely by way ofexample above, the user may easily view three scoring plays in a DVR ofa soccer game in less than a minute, while the soccer game footage mayspan hours of broadcast time. In another aspect, such improvements andbenefits are attainable with the systems and methods disclosed hereinwithout requiring further unique and/or enabling information to be sentwith, or otherwise included within, the media content itself. Otherexamples and benefits are possible.

Turning now to FIG. 1, an example method 100 for content-triggeredhighlight recording is provided. The method 100 may be implemented by atelevision receiver, and/or any other device that may receive and/orrecord media content. Further, the method 100 shown, and any othermethods disclosed herein, may include additional and/or alternativesteps in relation to the steps being shown. Any of the steps may beoptional, rearranged, and/or combined. Numerous variations are possible.

As shown in FIG. 1, the method 100 may include receiving media content,such as broadcast television media content (step 102). For example, themethod 100 may include receiving, by a television receiver or any devicecapable thereof, a video stream containing the broadcast media content.Such video streams and/or broadcast media content may be transmittedfrom a service provider via satellite communication and may be receivedvia one or more tuners of the television receiver. In an aspect, thetuners employed herein may be selected based on an availability status.For instance, the television receivers may determine the tuner as anidle tuner, which is available and/or not currently being utilized forother purposes. In some cases, the tuner may include a dedicated tunerthat is designated, by the television receiver, for receiving mediacontent to be implemented in the method 100. In another aspect, themedia content is included in a video stream that is already beingreceived at a tuner of the television receiver for other, additionalpurposes. Still, other examples are possible. Additionally and/oralternatively to live media content, bookmarks may be determined onpre-recorded media content.

It is contemplated that a number of tuners implemented forcontent-trigger highlight recording may be based on a number oftelevision channels and/or programs to be monitored for selectiverecording. For instance, a plurality of tuners, which may includededicated tuners, idle tuners, and/or a combination thereof, may beutilized concurrently for monitoring multiple different media contentand/or television programs provided for in different video streams.

In another aspect, the media content received for selective recordingmay be selected or otherwise indicated by a user. The user may select,via a user interface provided for by the television receiver and/orother device in communication therewith, which media content, e.g.specific television program(s), to monitor for selective recording. Forexample, the method 100 may include receiving, by the televisionreceiver, user input for selecting a category type of the broadcastmedia content. Such category types may include particular sportsprograms, global and/or local news broadcasts, television shows and/orepisodes, movies, and any other types of broadcast television mediacontent. In that case, the method 100 may further include identifying,by the television receiver, which video stream(s) carry theuser-selected media content, e.g. which video stream matches theselected category type. Subsequently, the method 100 may includereceiving and monitoring the identified video stream for theuser-defined trigger event. In another aspect, a broadcast channeland/or broadcast time for particular television programs may be providedfor by user selection, whereupon the television receiver may determinewhich video stream carries the content and/or schedule a tuner toreceive that video stream during the broadcast time.

As further shown in FIG. 1, the method 100 may include monitoring thereceived media content for one or more trigger events (step 104).Monitoring may include optical character recognition (“OCR”) beingperformed, by the television receiver, on at least a portion of themedia content being received via the tuner and/or being output on adisplay device, e.g. a television screen. In some aspects, thetelevision receiver may capture a screenshot of the display screendisplaying the media content, and/or at least a portion thereof,intermittently and/or based on predetermined time intervals, and OCR thescreenshot to identify any changes in the OCR that may indicate atrigger event. The television receiver may perform OCR on the screenshotof the entire display screen and/or a portion of the display screen,such as a monitoring location of the display screen that may beuser-specified and/or automatically detected. For instance, the user mayindicate an upper or lower area of a screen where a score is displayed,e.g. a score banner for a football game or soccer match, and designatethat area as the monitoring location, such as an area of an image of themedia content displayed on the screen, to be monitored and for OCR.

In another aspect, it is contemplated that such monitoring locations maybe determined during an initial setup and/or upon selection of the mediacontent to be recorded. For example, the television receiver may receiveuser input for identifying where the monitoring location, e.g. scoredisplay, is provided for on the television screen. The user may identifya general area, such as an upper, lower, right, and/or left quadrant ofthe screen, in which case the television receiver may furtherdistinguish the content to be monitored in the particular quadrant fromother content that is not relevant to the monitoring, e.g. distinguishbetween a time remaining and a score display occupying a same quadrant.In another aspect, the user may identify a particular location byhighlighting or otherwise dragging a digital box around a portion of thedisplay screen to indicate the monitoring location. Such actions may beperformed via other computers and/or mobile devices that may receiveuser-input, and later sent to the television receiver as the monitoringlocation. In still other aspects, the monitoring location may bepreprogrammed into, saved from previous selective recording entries,and/or otherwise known by, the television receiver, e.g. stored in adatabase having monitoring locations linked to certain media contents.In some aspects, the monitoring location may be translated into, by thetelevision receiver, coordinates relating to a position on the displayscreen. Such coordinates may include cornerpoints of a rectangular boxdefining the monitoring location and/or a centerpoint of a geometricshape that generally captures the monitoring position. In yet anotherexample, the television receiver may display a user interface comprisinggridlines across the television screen such that a user may select acollection of small, rectangular boxes covering a portion of the desiredmonitoring location to indicate the monitoring location. Other examplesare possible. For instance, the television receiver may identify themonitoring location of interest, such as a score banner, withoutreceiving user input.

In still another aspect, the television receiver may determine a videosegment of the received video stream to be output to the display devicefor OCR. Such video segments may include a portion of the video streambeing output from a first point in time to a second point in time. Thevideo segment may include a smaller area, e.g. the monitoring location,of images captured from the video stream where OCR is applied. In someexamples, the video segment may be based on media content that is outputwithin or at the coordinates of the monitoring location. It iscontemplated that the television receiver may monitor and OCR charactersin at least the monitoring location of the video segment for selectiverecording triggers. In other examples, the video segment and/or anentire screen being output via the display device may be monitoredand/or OCR monitored for triggers. Such triggers may include, merely byway of example, changes in the OCR of characters in the video segmentand/or monitoring location, e.g. a score change.

In other examples, the method 100 may include monitoring closedcaptioning data of the media content. Such closed captioning data may bedisplayed on the television screen for OCR monitoring and/or otherwiseinspected by the television receiver, e.g. in the video stream, fortrigger events. For instance, the television receiver may receive userinput for defining one or more trigger events, such as a keyword orphrase being detected in the closed captioning. For example, the triggerevent may include “Colorado” for a news broadcast, or any otheruser-defined words and/or phrases. In another aspect, a recurrence of aword or phrase for any number of times may be considered in the triggerevent. In yet another aspect, a spacing of a word or phrase from otherwords or phrases may be contemplated as defining trigger events. Forinstance, the trigger event may include “Denver” and “Broncos” in thesame sentence, or closely followed by one another. Other examples arepossible.

Further shown in FIG. 1, the method 100 may include detecting one ormore trigger events (step 106). In one example, the television receivermay detect a trigger event based on the OCR of the video segment,whereby the trigger event includes an identified change detected in theOCR of the video segment. For example, the television receiver maycontinuously perform OCR on the characters present within the videosegment at predetermined time intervals throughout a broadcast time ofthe broadcast media content. In another aspect, closed-captionmonitoring for trigger event(s) may be live and real-time as the mediacontent is received via the tuner. It is contemplated that the triggerevent(s) may be determined by user input, and that a plurality oftrigger events may be defined for a particular television program.Further, different trigger events may be grouped together intocategories, e.g. scoring plays, commentary scenes, scenes featuringcertain players, and the like, so that a user may easily select acategory of trigger events to view.

Still further shown in FIG. 1, the method 100 may include bookmarkingand/or recording the one or more detected trigger events (step 108). Inone example, after detecting the trigger event, the television receivermay create a digital bookmark corresponding to the trigger event beingdetected. Merely by way of example, the television receiver may locate aposition of the trigger event in a file of the video stream. Suchpositions may be determined by comparing a byte count at a time thetrigger event is detected to a known file size of the media content tofind a location of the trigger event. The digital bookmark may beinserted at the determined location corresponding to the trigger event.

In other examples, the digital bookmark may be placed before and/orafter the trigger event. For instance, in response to detecting thetrigger event, the television receiver may generate a recording of aportion of the broadcast media content that begins prior to the triggerevent and/or concludes after the trigger event. The digital bookmark maybe inserted at a position corresponding a buffer portion which precedesthe trigger event, at the trigger event, and/or in a trailing portionwhich follows the trigger event. In that case, the television receivermay receive, during an initial setup and/or upon selection of the mediacontent to be recorded, a first time duration for storing a bufferportion of the video stream prior to the detected trigger event. Alength of the buffer portion may be based on a first time duration,which may be specified by the user and/or predetermined. In anotheraspect, the television receiver may receive user input for selecting asecond time duration for recording a trailing portion of the videostream immediately following the detected trigger event. A length of therecorded trailing portion is based on the second time duration. It iscontemplated that upon detecting the trigger event, locations of bufferportion, trigger event, and/or trailing portion may be determined by thetelevision receiver and indexed with a digital bookmark. It is notedthat in some embodiments, the digital bookmark is added to a separatebookmarks file that references the bookmarked locations, e.g. triggerevents, in a main A/V file. The separate bookmarks file may comprise anindex to the main A/V file that is much smaller than the main A/V file,e.g. the recorded and/or pre-recorded file containing the media content.

Along with bookmarking, the television receiver may store the triggerevent, a portion of the buffer segment defined by the first timeduration, and/or a portion of the trailing segment of the video streamdefined by the second time duration. Such stored media content may beviewed at a later time upon user selection. For instance, the digitalbookmarks may be output for display to and selection by the user,whereby the user may select which bookmarks to view, which category ofbookmarks to view, and/or view all bookmarked content in thechronological order that they were recorded. The television receiver mayprovide a bookmarks display for the digital bookmark on the displaydevice. The bookmarks display may be configured to receive user inputfor selecting the digital bookmark and displaying the recording. Inanother aspect, the user may skip from one bookmark to another bookmarkby pressing a button on a controller of television receiver. Otherexamples are possible.

In this way, highlight events may be recorded with an ability to onlyview content surrounding highlight or other anchor events. The method100 may permit tagging of more interesting scenes of media content forrecording, and/or permit tagging interesting scenes of a media contentthat is recorded entirely. For instance, the user may specify atelevision program for DVR, and the method 100 may bookmark the detectedtrigger events to provide the user an option of viewing and/or skippingto only the bookmarked contents if desired. Other examples are possible.Further, the method 100 may monitor a plurality of channels in a samevideo stream, and/or monitor a plurality of channels in different videostreams that are received via different tuners, concurrently orotherwise.

It is noted that the method 100 and/or any of the systems and methodsdisclosed herein may include other steps not explicitly shown. Forinstance, if the media content designated for selective recording iscurrently being output via the display device, the television receivermay display an icon or overlay on a small portion of the display screento indicate that the content is currently being monitored forcontent-trigger highlight recording, and/or is currently being recorded,bookmarked, and/or otherwise stored, and so on. Such icons may changecolor or context to indicate different phases of the method 100. Forinstance, the icon may blink and/or emit a red color during a recordingphase, and appear solid and/or emit a green, black, or white colorduring a monitoring phase. Further, such icons may be selected to openthe bookmarks display window on the display screen.

In another aspect, the method 100 may include detecting, by thetelevision receiver, a break in the video segment. Such breaks mayinclude additional media content that is not desirable for monitoring,for example, commercial breaks. In that case, the method 100 may furtherinclude pausing, by the television receiver, the OCR on the videosegment during the detected break. Upon detecting and determining, bythe television receiver, an end of the break, the television receivermay resume the OCR on the video segment. Breaks in the video segment maybe user-determined and/or detected based on a change in content type ofthe video segment. For example, characters normally present in the videosegment, e.g. score display, may be absent during the break. In anotheraspect, such breaks may be indicated in the video streams itself byflags and/or metadata originally provided with the video stream. It isnoted that pausing the OCR may include detecting that a score displayand/or time remaining, or other video segment containing the monitoringlocation, has left the display screen. In that case, the televisionreceiver may temporarily stop recording and/or stop creating bookmarks.

In still other examples, a bookmarked portion of the video segment mayinclude a plurality of bookmarks. For instance, the television receivermay record a trailing portion of a first trigger event and continuemonitoring the video segment, whereupon a second trigger event may bedetected in the recorded trailing portion. In that case, the televisionreceiver may create an additional bookmark marking that second triggerevent, and extend the recording through a second trailing portion thatimmediately follows the second trigger event. In that case, the recordedvideo segment may comprise a longer video segment having multiplebookmarks. It is noted that in some cases, a bookmarks table containinga plurality of bookmarks pointing to locations of trigger events in arecording may be provided. In other cases, a plurality of smallerrecordings containing a plurality of trigger events may be provided,along with a bookmarks table having bookmarks that points to each of theplurality of smaller recordings.

In a particular example of method 100, the video stream may include asports competition being received via the tuner of the televisionreceiver. The video segment being monitored and OCR may include thescore display showing a score of the sports competition. The triggerevent may include an identified change in the OCR of the video segment,whereby the identified change is a change in the OCR of the characters,e.g. a change in the score of the sports competition. In some cases, thetelevision receiver may distinguish the score from other data in thevideo stream to determine the video segment to OCR during the broadcasttimeslot. Such other data may include other numerical values, such as atime remaining and/or a game interval of the sports competition. In somecases, the video segment need only be determined once for a particularmedia content. In other cases, the video segment and/or monitoringlocation may be dynamic such that the television receiver periodicallychecks if the monitoring location should be elsewhere on the displayscreen.

Turning now to FIG. 2, an example satellite system 200 is shown inaccordance with the present disclosure. For brevity, the satellitesystem 200 is depicted in a simplified form, and may generally includemore or fewer systems, devices, networks, and/or other components asdesired. Further, number and type of features or elements incorporatedwithin the satellite system 200 may or may not beimplementation-specific, and at least some of the aspects of thesatellite system 200 may be similar to a cable television distributionsystem, an IPTV (Internet Protocol Television) content distributionsystem, and/or any other type of content distribution system.

In this example, the satellite system 200 may include a service provider202, a satellite uplink 204, a plurality of orbiting (e.g.,geosynchronous) satellites 206 a-c, a satellite dish 208, a PTR (PrimaryTelevision Receiver) 210, a plurality of STRs (Secondary TelevisionReceivers) 212 a-b, a plurality of televisions 214 a-c, and a pluralityof computing devices 216 a-b. The PTR 210 and/or any of the STRs 212 a-bmay include a bookmark video recording (“BVR”) module 218 that isprogrammatically configured to selectively record a portion of broadcastmedia content based on a trigger event identified in an OCR of thebroadcast media content. As discussed throughout, the BVR module 218 maybe provided according to a particular hardware and/or firmwarearchitecture of the PTR 210. Such implementations may be beneficialand/or advantageous in many respects, as described further in thesucceeding paragraphs. In another aspect, the satellite system 200 mayinclude one or more headless gateways, which may comprise a type of PTR210 that does not have display outputs. In some cases, such headlessgateways may include the BVR module 218.

The satellite system 200 may also include at least one network 220 thatestablishes a bidirectional communication path for data transfer betweenand among each respective element of the satellite system 200 outside ofthe unidirectional satellite signaling path. The network 220 is intendedto represent any number of terrestrial and/or non-terrestrial networkfeatures or elements. For example, the network 220 may incorporate orexhibit any number of features or elements of various wireless and/orhardwired packet-based communication networks such as, for example, aWAN (Wide Area Network) network, a HAN (Home Area Network) network, aLAN (Local Area Network) network, a WLAN (Wireless Local Area Network)network, the Internet, a cellular communications network, or any othertype of communication network configured such that data may betransferred between and among respective elements of the satellitesystem 200.

The PTR 210, and the STRs 212 a-b, as described throughout may generallybe any type of television receiver, television converter, etc., such asa STB (Set-Top-Box) for example. In another example, the PTR 210, andthe STRs 212 a-b, may exhibit functionality integrated as part of orinto a television, a DVR, a computer such as a tablet computing device,or any other computing system or device, as well as variations thereof.Further, the PTR 210 and the network 220, together with the STRs 212 a-band televisions 214 a-c, and possibly the computing devices 216 a-b, maybe incorporated within or form at least a portion of a particular homecomputing network, and may each be respectively configured so as toenable communications in accordance with any particular communicationprotocol(s) and/or standard(s) including, for example, TCP/IP(Transmission Control Protocol/Internet Protocol), DLNA/DTCP-IP (DigitalLiving Network Alliance/Digital Transmission Copy Protection overInternet Protocol), HDMI/HDCP (High-Definition MultimediaInterface/High-bandwidth Digital Content Protection), etc. Otherexamples are possible. For example, one or more of the various elementsor components of the example satellite system 200 may be configured tocommunicate in accordance with the MoCA® (Multimedia over Coax Alliance)home entertainment networking standard. Still other examples arepossible.

In practice, the satellites 206 a-c may each be configured to receiveuplink signals 222 a-b from the satellite uplink 204. In this example,the uplink signals 222 a-b may contain one or more transponder streamsof particular data or content, such as particular television channel,that is supplied by the service provider 202. For example, each of therespective uplink signals 222 a-b may contain various media content suchas a plurality of encoded HD (High Definition) television channels,various SD (Standard Definition) television channels, on-demandprogramming, programming information, and/or any other content in theform of at least one transponder stream, and in accordance with anallotted carrier frequency and bandwidth. In this example, differentmedia content may be carried using different ones of the satellites 206a-c. Further, different media content may be carried using differenttransponders of a particular satellite (e.g., satellite 206 a); thus,such media content may be transmitted at different frequencies and/ordifferent frequency ranges. For example, a first and second televisionchannel may be carried on a first carrier frequency over a firsttransponder of satellite 206 a, and a third, fourth, and fifthtelevision channel may be carried on second carrier frequency over afirst transponder of satellite 206 b, or, the third, fourth, and fifthtelevision channel may be carried on a second carrier frequency over asecond transponder of satellite 206 a, and etc.

The satellites 206 a-c may further be configured to relay the uplinksignals 222 a-b to the satellite dish 208 as downlink signals 224 a-b.Similar to the uplink signals 222 a-b, each of the downlink signals 224a-b may contain one or more transponder streams of particular data orcontent, such as various encoded and/or at least partiallyelectronically scrambled television channels, on-demand programming,etc., in accordance with an allotted carrier frequency and bandwidth.The downlink signals 224 a-b, however, may not necessarily contain thesame or similar content as a corresponding one of the uplink signals 222a-b. For example, the uplink signal 222 a may include a firsttransponder stream containing at least a first group or grouping oftelevision channels, and the downlink signal 224 a may include a secondtransponder stream containing at least a second, different group orgrouping of television channels. In other examples, the first and secondgroup of television channels may have one or more television channels incommon. In sum, there may be varying degrees of correlation between theuplink signals 222 a-b and the downlink signals 224 a-b, both in termsof content and underlying characteristics.

Continuing with the example implementation-specific scenario, thesatellite dish 208 may be provided for use to receive televisionchannels (e.g., on a subscription basis) provided by the serviceprovider 202, satellite uplink 204, and/or satellites 206 a-c. Forexample, the satellite dish 208 may be configured to receive particulartransponder streams, or downlink signals 224 a-b, from one or more ofthe satellites 206 a-c. Based on the characteristics of the PTR 210and/or satellite dish 208, however, it may only be possible to capturetransponder streams from a limited number of transponders concurrently.For example, a tuner of the PTR 210 may be configured to tune to asingle transponder stream from a transponder of a single satellite at atime.

Additionally, the PTR 210, which is communicatively coupled to thesatellite dish 208, may subsequently select via tuner, decode, and relayparticular transponder streams to the television 214 c for displaythereon. For example, the satellite dish 208 and the PTR 210 may,respectively, be configured to receive, decode, and relay at least onepremium HD-formatted television channel to the television 214 c.Programming or content associated with the HD channel may generally bepresented live, or from a recording as previously stored on, by, or atthe PTR 210. In this example, the HD channel may be output to thetelevision 214 c in accordance with the HDMI/HDCP content protectiontechnologies. Other examples are possible.

Further, the PTR 210 may select via tuner, decode, and relay particulartransponder streams to one or both of the STRs 212 a-b, which may inturn relay particular transponder streams to a corresponding one of thetelevision 214 a and the television 214 b for display thereon. Forexample, the satellite dish 208 and the PTR 210 may, respectively, beconfigured to receive, decode, and relay at least one television channelto the television 214 a by way of the STR 212 a. Similar to theabove-example, the television channel may generally be presented live,or from a recording as previously stored on the PTR 210, and may beoutput to the television 214 a by way of STR 212 a in accordance with aparticular content protection technology and/or networking standard.Still further, the satellite dish 208 and the PTR 210 may, respectively,be configured to receive, decode, and relay at least one premiumtelevision channel to one or both of the computing devices 216 a-b.Similar to the above-examples, the television channel may generally bepresented live, or from a recording as previously stored on the PTR 210,and may be output to one or both of the computing devices 216 a-b inaccordance with a particular content protection technology and/ornetworking standard.

Referring now to FIG. 3, an example block diagram of the PTR 210 of FIG.2 is shown in accordance with the present disclosure. In some examples,at least one of the STRs 212 a-b may be configured in a manner similarto that of the PTR 210. In other examples, at least one of the STRs 212a-b may be configured to exhibit a reduced functionality as compared tothe PTR 210, and may depend at least to a certain degree on the PTR 210to implement certain features or functionality. In this example, theSTRs 212 a-b may be referred to as a “thin client.” It is noted that theSTRs may be optional, and not necessarily required for the systems andmethods disclosed herein.

For brevity, the PTR 210 is depicted in a simplified form, and maygenerally include more or fewer elements or components as desired inaccordance with the present disclosure. For example, the PTR 210 isshown in FIG. 3 to include the BVR module 218. In general, and asdiscussed in further detail below, the BVR module 218 may be configuredto provide for one or more aspects of content-triggered highlightrecording. Other examples are possible as well.

Referring still to FIG. 3, the PTR 210 in this example includes one ormore processors 302, a plurality of tuners 304 a-h, at least one networkinterface 306, at least one non-transitory computer-readable storagemedium 308, at least one EPG database 310, at least one televisioninterface 312, at least one PSI (Program Specific Information) table314, at least one DVR database 316, at least one user interface 318, atleast one demultiplexer 320, at least one smart card 322, at least onedescrambling engine 324, and at least one decoder 326. In otherexamples, fewer or greater numbers of components may be present.Further, functionality of one or more components may be combined; forexample, functions of the descrambling engine 324 may be performed bythe processors 302. Still further, functionality of components may bedistributed among additional components, and possibly additional systemssuch as, for example, in a cloud-computing implementation. Alternativelyto the PTR 210 having a plurality of tuners, the systems and methodsdisclosed herein may be provided for with a PTR having a single tuneronly.

The processors 302 may include one or more specialized and/orgeneral-purpose processors configured to perform processes such asinstructing tuners to tune to a particular channel, accessing anddisplaying EPG information, and/or receiving and processing input from auser. For example, the processors 302 may include one or more processorsdedicated to decoding video signals from a particular format, such asaccording to a particular MPEG (Motion Picture Experts Group) standard,for output and display on a television, and for performing or at leastfacilitating decryption or descrambling.

The tuners 304 a-h may be used to tune to television channels, such astelevision channels transmitted via satellites (not shown). Each one ofthe tuners 304 a-h may be capable of receiving and processing a singlestream of data from a satellite transponder, or a cable RF channel, at agiven time. As such, a single tuner may tune to a single transponder or,for a cable network, a single cable channel. Additionally, one tuner(e.g., tuner 304 a) may be used to tune to a television channel on afirst transponder stream for display using a television, while anothertuner (e.g., tuner 304 b) may be used to tune to a television channel ona second transponder for recording and viewing at some other time. Ifmultiple television channels transmitted on the same transponder streamare desired, a particular tuner (e.g., tuner 304 c) may be used toreceive the signal containing the multiple television channels forpresentation and/or recording of each of the respective multipletelevision channels, such as in a PTAT (Primetime Anytime)implementation for example. Although eight tuners are shown, the PTR 210may include more or fewer tuners (e.g., three tuners, twelve tuners,etc.), and the features of the disclosure may be implemented similarlyand scale according to the number of tuners of the PTR 210.

The network interface 306 may be used to communicate via alternatecommunication channel(s) with a service provider. For example, theprimary communication channel between the service provider 202 of FIG. 2and the PTR 210 may be via satellites, which may be unidirectional tothe PTR 210, and another communication channel between the serviceprovider 202 and the PTR 210, which may be bidirectional, may be via anetwork, such as various wireless and/or hardwired packet-basedcommunication networks, including, for example, a WAN (Wide AreaNetwork), a HAN (Home Area Network), a LAN (Local Area Network), a WLAN(Wireless Local Area Network), the Internet, a cellular network, a homeautomation network, or any other type of communication networkconfigured such that data may be transferred between and amongrespective elements of the satellite system 200. In general, varioustypes of information may be transmitted and/or received via the networkinterface 306.

The storage medium 308 may represent a non-transitory computer-readablestorage medium. The storage medium 308 may include memory and/or a harddrive. The storage medium 308 may be used to store information receivedfrom one or more satellites and/or information received via the networkinterface 306. For example, the storage medium 308 may store informationrelated to the EPG database 310, the PSI table 314, and/or the DVRdatabase 316, among other elements or features, such as the BVR module218 mentioned above. Recorded television programs may be stored usingthe storage medium 308.

The EPG database 310 may store information related to televisionchannels and the timing of programs appearing on such televisionchannels. Information from the EPG database 310 may be used to informusers of what television channels or programs are available, popularand/or provide recommendations. Information from the EPG database 310may be used to generate a visual interface displayed by a televisionthat allows a user to browse and select television channels and/ortelevision programs for viewing and/or recording. Information used topopulate the EPG database 310 may be received via the network interface306 and/or via satellites. For example, updates to the EPG database 310may be received periodically via satellite. The EPG database 310 mayserve as an interface for a user to control DVR functions of the PTR210, and/or to enable viewing and/or recording of multiple televisionchannels simultaneously.

The decoder 326 may convert encoded video and audio into a formatsuitable for output to a display device. For instance, the decoder 326may receive MPEG video and audio from the storage medium 308, or thedescrambling engine 324, to be output to a television. MPEG video andaudio from the storage medium 308 may have been recorded to the DVRdatabase 316 as part of a previously-recorded television program. Thedecoder 326 may convert the MPEG video and audio into a formatappropriate to be displayed by a television or other form of displaydevice and audio into a format appropriate to be output from speakers,respectively. The decoder 326 may be a single hardware element capableof decoding a finite number of television channels at a given time, suchas in a time-division arrangement. In the example, eight televisionchannels may be decoded concurrently or simultaneously.

The television interface 312 outputs a signal to a television, oranother form of display device, in a proper format for display of videoand play back of audio. As such, the television interface 312 may outputone or more television channels, stored television programming from thestorage medium 308, such as television programs from the DVR database316 and/or information from the EPG database 310 for example, to atelevision for presentation.

The PSI table 314 may store information used by the PTR 210 to accessvarious television channels. Information used to populate the PSI table314 may be received via satellite, or cable, through the tuners 304 a-hand/or may be received via the network interface 306 over the networkfrom the service provider 202 shown in FIG. 2. Information present inthe PSI table 314 may be periodically or at least intermittentlyupdated. Information that may be present in the PSI table 314 mayinclude: television channel numbers, satellite identifiers, frequencyidentifiers, transponder identifiers, ECM PIDs (Entitlement ControlMessage, Packet Identifier), one or more audio PIDs, and video PIDs. Asecond audio PID of a channel may correspond to a second audio program,such as in another language. In some examples, the PSI table 314 may bedivided into a number of tables, such as a NIT (Network InformationTable), a PAT (Program Association Table), a PMT (Program ManagementTable), etc.

DVR functionality of the PTR 210 may permit a television channel to berecorded for a period of time. The DVR database 316 may store timersthat are used by the processors 302 to determine when a televisionchannel should be tuned to and recorded to the DVR database 316 ofstorage medium 308. In some examples, a limited amount of space of thestorage medium 308 may be devoted to the DVR database 316. Timers may beset by the service provider 202 and/or one or more viewers or users ofthe PTR 210. DVR functionality of the PTR 210 may be configured by auser to record particular television programs. The PSI table 314 may beused by the PTR 210 to determine the satellite, transponder, ECM PID,audio PID, and video PID.

The user interface 318 may include a remote control, physically separatefrom PTR 210, and/or one or more buttons on the PTR 210 that allows auser to interact with the PTR 210. The user interface 318 may be used toselect a television channel for viewing, view information from the EPGdatabase 310, and/or program a timer stored to the DVR database 316wherein the timer may be used to control the DVR functionality of thePTR 210.

Referring back to the tuners 304 a-h, television channels received viasatellite may contain at least some encrypted or scrambled data. Packetsof audio and video may be scrambled to prevent unauthorized users, suchas nonsubscribers, from receiving television programming without payingthe service provider 202. When one of the tuners 304 a-h is receivingdata from a particular transponder of a satellite, the transponderstream may be a series of data packets corresponding to multipletelevision channels. Each data packet may contain a PID, which incombination with the PSI table 314, can be determined to be associatedwith a particular television channel. Particular data packets, referredto as ECMs may be periodically transmitted. ECMs may be encrypted; thePTR 210 may use the smart card 322 to decrypt ECMs.

The smart card 322 may function as the CA (Conditional Access) whichperforms decryption of ECM to obtain control words that are used todescramble video and/or audio of television channels. Decryption of anECM may only be possible when the user, e.g., an individual who isassociated with the PTR 210, has authorization to access the particulartelevision channel associated with the ECM. When an ECM is received bythe demultiplexer 320 and the ECM is determined to correspond to atelevision channel being stored and/or displayed, the ECM may beprovided to the smart card 322 for decryption.

The demultiplexer 320 may be configured to filter data packets based onPIDs. For example, if a transponder data stream includes multipletelevision channels, data packets corresponding to a television channelthat are not desired to be stored or displayed by the user may beignored by the demultiplexer 320. As such, only data packetscorresponding to the one or more television channels desired to bestored and/or displayed may be passed to either the descrambling engine324 or the smart card 322; other data packets may be ignored. For eachchannel, a stream of video packets, a stream of audio packets and/or astream of ECM packets may be present, each stream identified by a PID.In some examples, a common ECM stream may be used for multipletelevision channels. Additional data packets corresponding to otherinformation, such as updates to the PSI table 314, may be appropriatelyrouted by the demultiplexer 320.

The descrambling engine 324 may use the control words output by thesmart card 322 in order to descramble video and/or audio correspondingto television channels for storage and/or presentation. Video and/oraudio data contained in the transponder data stream received by thetuners 304 a-h may be scrambled. The video and/or audio may bedescrambled by the descrambling engine 324 using a particular controlword. Which control word output by the smart card 322 to be used forsuccessful descrambling may be indicated by a scramble controlidentifier present within the data packet containing the scrambled videoor audio. Descrambled video and/or audio may be output by thedescrambling engine 324 to the storage medium 308 for storage, such aspart of the DVR database 316 for example, and/or to the decoder 326 foroutput to a television or other presentation equipment via thetelevision interface 312.

For brevity, the PTR 210 is depicted in a simplified form, and maygenerally include more or fewer elements or components as desired,including those configured and/or arranged for implementing variousfeatures associated with intelligently allocating idle tuner resourcesto buffer or record broadcast programming determined as desirable, asdiscussed in the context of the present disclosure. For example, the PTR210 is shown in FIG. 3 to include the BVR module 218 as mentioned abovein connection with FIG. 2. Further, some routing between the variousmodules of the PTR 210 has been illustrated. Such illustrations are forexemplary purposes only. The state of two modules not being directly orindirectly connected does not indicate the modules cannot communicate.Rather, connections between modules of the PTR 210 are intended only toindicate possible common data routing. It should be understood that themodules of the PTR 210 may be combined into a fewer number of modules ordivided into a greater number of modules.

Additionally, although not explicitly shown in FIG. 3, the PTR 210 mayinclude one or more logical modules configured to implement a televisionstreaming media functionality that encodes video into a particularformat for transmission over the Internet such as to allow users toremotely view and control a home cable, satellite, or personal videorecorder system from an Internet-enabled computer with a broadbandInternet connection. The Slingbox® by Sling Media, Inc. of Foster City,Calif., is one example of a product that implements such functionality.Further, the PTR 210 may be configured to include any number of othervarious components or logical modules that are implemented in hardware,software, firmware, or any combination thereof, and such components orlogical modules may or may not be implementation-specific.

Turning now to FIG. 4, an example method 400 for selective recording ofa portion of media content with optical character recognition (“OCR”) isshown according to various embodiments disclosed herein. The method 400may be implemented by a television receiver, such as the televisionreceiver 210 having the BVR module 218 as shown in FIGS. 2 and 3, or anyother device that may receive and/or record media content. It iscontemplated that the method 400 may include any additional steps, andthat the steps being shown may be rearranged in any manner and/or may beoptional.

As shown in FIG. 4, the method 400 may include receiving media content,e.g. video stream, at a tuner of the television receiver (step 402). Themethod 400 may include determining a monitoring location for the mediacontent, e.g. determining a video segment of the media content thatcorresponds to an area in images of the video stream that is output fordisplay to a display device (step 404). Such images may be capturedperiodically by screenshots taken by the television receiver. Further,the video segment may be based on user-input and/or a database of knownmonitoring locations based on the nature of the media content.

Further, the method 400 may include performing OCR at the monitoringlocation, e.g. the determined video segment, to identify or detect atrigger event (step 406). Such trigger event(s) may be user-definedand/or based on a database of known trigger events based on the natureof the media content, e.g. changes in a score for a sports competition.It is contemplated that the OCR may be performed continuously in varioustime intervals throughout a broadcast time of the media content beingmonitored. Merely by way of example, the television receiver may performOCR on the video segment once every fifteen seconds. In other examples,the television receiver may OCR the video segment once every second,every 1/60^(th) of a second, and/or on each frame containing the videosegment. Other variations are possible.

The method 400 may include determining whether a trigger event isdetected (step 408). If a trigger event is not detected, the method 400may continue monitoring the media content. If a trigger event isdetected, the method 400 may also continue monitoring the media content,while bookmarking the detected trigger event (step 410). In that case,the method 400 may include inserting a digital bookmark in a file of thereceived media content, and/or inserting the bookmark to a smaller,secondary bookmarks file that indexes and points to a first A/V, largerfile containing the recorded media content. Further, the method 400 mayinclude recording the trigger event of the media content (step 412). Asdiscussed previously, recording the trigger event may include creating arecording that comprises a buffer portion immediately preceding thetrigger event, and continuing recording of a trailing portion of thevideo stream that immediately follows the trigger event. In this way, itis contemplated that a scoring play and any replays or commentaryregarding the scoring play may be recorded and bookmarked. Lengths ofsuch recordings may be user-defined and/or set by default. Merely by wayof example, the user may select a first time duration that defineslengths of buffer portions for 15 seconds, and a second time durationthat defines lengths of trailing portions for 20 seconds. The method 400may further include outputting a notification to the user that an eventhas been bookmarked and/or recorded. In some aspects, the notificationmay comprise an icon or a change thereof to indicate bookmarking of theevent. In other aspects, the notification may comprise sending, by thetelevision receiver, the user's mobile device an update that a triggerevent occurred and has been bookmarked and/or recorded. In still otheraspects, the bookmarks may be accessed via a bookmarks display window onthe display screen, which might appear in response to the user selectinga button on the screen and/or pressing a button on a remote control.

Referring now to FIG. 5, an example method 500 for selective recordingof a portion of media content using closed caption data is shownaccording to various embodiments disclosed herein is shown. The method500 may be implemented by a television receiver, such as the televisionreceiver 210 having the BVR module 218 as shown in FIGS. 2 and 3, or anyother device that may receive and/or record media content. It iscontemplated that the method 500 may include any additional steps, andthat the steps being shown may be rearranged in any manner and/or may beoptional.

The method 500 may include receiving media content at a tuner of thetelevision receiver (step 502). It is contemplated that media contentmay be received in other ways, for instance via internet connections andotherwise. The method 500 may include monitoring the closed caption datain the media content for a trigger event (step 504). Such trigger eventsmay include words and/or phrases, and/or spacing of such words/phrases,repetition of such words/phrases, and/or a time of day coinciding withdetection of the words and/or phrases in the closed caption data. Upondetection of a trigger event in the closed caption data, the method 500may include bookmarking the trigger event of the media content (step508) by inserting a digital bookmark in a file stream corresponding tothe trigger event. Further, the method 500 may include recording thetrigger event (step 510), along with any buffer and/or trailing portionsof the video stream surrounding the trigger event, if desired by theuser. Further, the method may include outputting a notification tonotify the user of the bookmark and/or recording (step 512). It iscontemplated that such steps 508-512 may include any of the featuresdescribed previously, such as in FIG. 4.

It is further noted that the method 500, and/or any features disclosedherein, may be user-configurable and support multiple languages asdetermined by user location, the media content being received, and/or bythe user. The television receiver may further translate key words and/orphrases of a trigger event into different languages to monitor othervarious types of media content. For instance, a user may instruct thetelevision receiver to monitor all news channels for a time slot from6-8 pm for any discussion on “baseball”. The television receiver maytranslate the word “baseball” from English to Spanish if there are anySpanish news channels being received. Further, it is contemplated thatthe television receiver may include a database of synonyms, suggestedwords, and/or related words to detect during monitoring. Upon user entryof words defining a trigger event, the television receiver may indicateany synonyms, suggested words, and/or related words taken from thedatabase for user selection as additional trigger events to enhance thecapture of any highlight events.

Turning to FIG. 6, an example user interface 600 including a bookmarksdisplay 602 is shown. It is contemplated that the user interface 600and/or the bookmarks display 602 may be provided on a display screen 604of a display device 606, which may be operatively connected to thetelevision receiver 210 and/or the BVR module 218 thereof. An examplesoccer game is output for presentation on the display device 606. Amonitoring location 608 is indicated in a dashed rectangular region toinclude a score display. It is contemplated that the video segmentproviding for characters and/or data within this monitoring location 608is utilized for OCR. Further, a BVR icon 610 is provided to indicatethat the soccer game output for presentation is being monitored forbookmark video recording. In some examples, the BVR icon 610 may changecolor when a particular portion shown is actively being recorded and/orbookmarked. In other examples, the BVR icon 610 may be selectable andopen up to the bookmarks display 602.

In the example bookmarks display 602, a listing of the bookmarks 612 a-dmay be provided and selectable. For example, each bookmarked triggerevent may be indicated by a button or bar and may include a briefdescription of the trigger event and/or other relevant informationdetected at the time of bookmarking, e.g. the score display and/or thetime remaining. In other examples, a screenshot of the video segmentand/or an entire display screen taken at the time of detecting thebookmark may be shown and/or provided as a background to each bookmarkbar. The bookmarks display 602 may permit a user to scroll up and downthrough the listing of bookmarks 612 a-d to select one or more triggerevents for viewing. In another example, the user may select a play allbutton 614 to play all bookmarked recordings. Other buttons may beprovided, such as a settings button 616 to access setup proceduresand/or a clear button 618 to clear the bookmarked events and/or erasethe recordings from the television receiver. Numerous other buttons maybe displayed. In other aspects, it is contemplated that the bookmarksdisplay 602 may be a transparent overlay across all or a portion of thedisplay screen 604, and/or provided toward a left or right side of thedisplay screen 604, which may cause an area of the soccer game beingoutput to condense and/or shift toward an opposite side of the screen604. In that case, the television receiver may determine a newmonitoring location based on a shifted position of the score display.Other examples are possible.

In still another example, bookmarked video segments of live and/orpre-recorded media content may be accessed by skipping through thebookmarks. For instance, a user may select a first bookmark to outputthe first bookmarked event to the display screen. The first bookmarkedevent may include a buffer portion preceding an exciting, triggerportion, the trigger portion, and/or a trailing portion such as apost-play analysis. In some cases, the user may continue to view mediacontent immediately following the trailing portion, for instance, if themedia content is a pre-recorded media content and/or an entire recordingof the television broadcast. The user may also fast-forward and/orrewind within bookmarked portions. Once the user is done viewing thefirst bookmarked portion, the user may skip ahead to a second bookmarkedportion by inputting a skip forward command. In response, the televisionreceiver may output the second bookmarked portion starting at a bufferportion thereof, and/or ending with a trailing portion. Similarly, theuser may continue watching past the trailing portion if that portion ofthe video is available for viewing. It is contemplated that the user mayeasily skip through, forward and/or backward, a plurality of bookmarkedmedia segments.

Turning now to FIG. 7, an example block diagram for a computer system ordevice 700 upon which various features of the present disclosure may beprovided is shown. An example of a computer system or device includes anenterprise server, blade server, desktop computer, laptop computer,tablet computer, personal data assistant, smartphone, gaming console,STB, television receiver, and/or any other type of machine configuredfor performing calculations. Any particular one of thepreviously-described computing devices may be wholly or at leastpartially configured to exhibit features similar to the computer system700, such as any of the respective elements of at least FIG. 2 and FIG.3. In this manner, any of one or more of the respective elements of atleast FIG. 2 and FIG. 3 may be configured to perform and/or includeinstructions that, when executed, perform the methods of FIG. 1, FIG. 4,and/or FIG. 5. Still further, any of one or more of the respectiveelements of at least FIG. 1 may be configured to perform and/or includeinstructions that, when executed, instantiate and implementfunctionality of the PTR 210 and/or the server(s).

The computer device 700 is shown comprising hardware elements that maybe electrically coupled via a bus 702 (or may otherwise be incommunication, as appropriate). The hardware elements may include aprocessing unit with one or more processors 704, including withoutlimitation one or more general-purpose processors and/or one or morespecial-purpose processors (such as digital signal processing chips,graphics acceleration processors, and/or the like); one or more inputdevices 706, which may include without limitation a remote control, amouse, a keyboard, and/or the like; and one or more output devices 708,which may include without limitation a presentation device (e.g.,television), a printer, and/or the like.

The computer system 700 may further include (and/or be in communicationwith) one or more non-transitory storage devices 710, which maycomprise, without limitation, local and/or network accessible storage,and/or may include, without limitation, a disk drive, a drive array, anoptical storage device, a solid-state storage device, such as a randomaccess memory, and/or a read-only memory, which may be programmable,flash-updateable, and/or the like. Such storage devices may beconfigured to implement any appropriate data stores, including withoutlimitation, various file systems, database structures, and/or the like.

The computer device 700 might also include a communications subsystem712, which may include without limitation a modem, a network card(wireless and/or wired), an infrared communication device, a wirelesscommunication device and/or a chipset such as a Bluetooth™ device,802.11 device, WiFi device, WiMax device, cellular communicationfacilities such as GSM (Global System for Mobile Communications), W-CDMA(Wideband Code Division Multiple Access), LTE (Long Term Evolution),etc., and/or the like. The communications subsystem 712 may permit datato be exchanged with a network (such as the network described below, toname one example), other computer systems, and/or any other devicesdescribed herein. In many embodiments, the computer system 900 willfurther comprise a working memory 714, which may include a random accessmemory and/or a read-only memory device, as described above.

The computer device 700 also may comprise software elements, shown asbeing currently located within the working memory 714, including anoperating system 716, device drivers, executable libraries, and/or othercode, such as one or more application programs 718, which may comprisecomputer programs provided by various embodiments, and/or may bedesigned to implement methods, and/or configure systems, provided byother embodiments, as described herein. By way of example, one or moreprocedures described with respect to the method(s) discussed above,and/or system components might be implemented as code and/orinstructions executable by a computer (and/or a processor within acomputer); in an aspect, then, such code and/or instructions may be usedto configure and/or adapt a general purpose computer (or other device)to perform one or more operations in accordance with the describedmethods.

A set of these instructions and/or code might be stored on anon-transitory computer-readable storage medium, such as the storagedevice(s) 710 described above. In some cases, the storage medium mightbe incorporated within a computer system, such as computer system 700.In other embodiments, the storage medium might be separate from acomputer system (e.g., a removable medium, such as flash memory), and/orprovided in an installation package, such that the storage medium may beused to program, configure, and/or adapt a general purpose computer withthe instructions/code stored thereon. These instructions might take theform of executable code, which is executable by the computer device 700and/or might take the form of source and/or installable code, which,upon compilation and/or installation on the computer system 700 (e.g.,using any of a variety of generally available compilers, installationprograms, compression/decompression utilities, etc.), then takes theform of executable code.

It will be apparent that substantial variations may be made inaccordance with specific requirements. For example, customized hardwaremight also be used, and/or particular elements might be implemented inhardware, software (including portable software, such as applets, etc.),or both. Further, connection to other computing devices such as networkinput/output devices may be employed.

As mentioned above, in one aspect, some embodiments may employ acomputer system (such as the computer device 700) to perform methods inaccordance with various embodiments of the disclosure. According to aset of embodiments, some or all of the procedures of such methods areperformed by the computer system 700 in response to processor 704executing one or more sequences of one or more instructions (which mightbe incorporated into the operating system 716 and/or other code, such asan application program 718) contained in the working memory 714. Suchinstructions may be read into the working memory 714 from anothercomputer-readable medium, such as one or more of the storage device(s)710. Merely by way of example, execution of the sequences ofinstructions contained in the working memory 714 may cause theprocessor(s) 704 to perform one or more procedures of the methodsdescribed herein.

The terms “machine-readable medium” and “computer-readable medium,” asused herein, may refer to any non-transitory medium that participates inproviding data that causes a machine to operate in a specific fashion.In an embodiment implemented using the computer device 700, variouscomputer-readable media might be involved in providing instructions/codeto processor(s) 704 for execution and/or might be used to store and/orcarry such instructions/code. In many implementations, acomputer-readable medium is a physical and/or tangible storage medium.Such a medium may take the form of a non-volatile media or volatilemedia. Non-volatile media may include, for example, optical and/ormagnetic disks, such as the storage device(s) 710. Volatile media mayinclude, without limitation, dynamic memory, such as the working memory714.

Example forms of physical and/or tangible computer-readable media mayinclude a floppy disk, a flexible disk, hard disk, magnetic tape, or anyother magnetic medium, a compact disc, any other optical medium, ROM,RAM, and etc., any other memory chip or cartridge, or any other mediumfrom which a computer may read instructions and/or code. Various formsof computer-readable media may be involved in carrying one or moresequences of one or more instructions to the processor(s) 704 forexecution. By way of example, the instructions may initially be carriedon a magnetic disk and/or optical disc of a remote computer. A remotecomputer might load the instructions into its dynamic memory and sendthe instructions as signals over a transmission medium to be receivedand/or executed by the computer system 700.

The communications subsystem 712 (and/or components thereof) generallywill receive signals, and the bus 702 then might carry the signals(and/or the data, instructions, etc. carried by the signals) to theworking memory 714, from which the processor(s) 704 retrieves andexecutes the instructions. The instructions received by the workingmemory 714 may optionally be stored on a non-transitory storage device710 either before or after execution by the processor(s) 704.

It should further be understood that the components of computer device700 can be distributed across a network. For example, some processingmay be performed in one location using a first processor while otherprocessing may be performed by another processor remote from the firstprocessor. Other components of computer system 700 may be similarlydistributed. As such, computer device 700 may be interpreted as adistributed computing system that performs processing in multiplelocations. In some instances, computer system 700 may be interpreted asa single computing device, such as a distinct laptop, desktop computer,or the like, depending on the context.

The methods, systems, and devices discussed above are examples. Variousconfigurations may omit, substitute, or add various method steps orprocedures, or system components as appropriate. For instance, inalternative configurations, the methods may be performed in an orderdifferent from that described, and/or various stages may be added,omitted, and/or combined. Also, features described with respect tocertain configurations may be combined in various other configurations.Different aspects and elements of the configurations may be combined ina similar manner. Also, technology evolves and, thus, many of theelements are examples and do not limit the scope of the disclosure orclaims.

Specific details are given in the description to provide a thoroughunderstanding of example configurations (including implementations).However, configurations may be practiced without these specific details.For example, well-known circuits, processes, algorithms, structures, andtechniques have been shown without unnecessary detail in order to avoidobscuring the configurations. This description provides exampleconfigurations only, and does not limit the scope, applicability, orconfigurations of the claims. Rather, the preceding description of theconfigurations will provide those of skill with an enabling descriptionfor implementing described techniques. Various changes may be made inthe function and arrangement of elements without departing from thespirit or scope of the disclosure.

Also, configurations may be described as a process which is depicted asa flow diagram or block diagram. Although each may describe theoperations as a sequential process, many of the operations may beperformed in parallel or concurrently. In addition, the order of theoperations may be rearranged. A process may have additional steps notincluded in the figure. Furthermore, examples of the methods may beimplemented by hardware, software, firmware, middleware, microcode,hardware description languages, or any combination thereof. Whenimplemented in software, firmware, middleware, or microcode, the programcode or code segments to perform the necessary tasks may be stored in anon-transitory computer-readable medium such as a storage medium.Processors may perform the described tasks.

Furthermore, the example embodiments described herein may be implementedas logical operations in a computing device in a networked computingsystem environment. The logical operations may be implemented as: (i) asequence of computer implemented instructions, steps, or program modulesrunning on a computing device; and (ii) interconnected logic or hardwaremodules running within a computing device.

Although the subject matter has been described in language specific tostructural features and/or methodological acts, it is to be understoodthat the subject matter defined in the appended claims is notnecessarily limited to the specific features or acts described above.Rather, the specific features and acts described above are disclosed asexample forms of implementing the claims.

What is claimed is:
 1. A method for selectively recording a portion ofbroadcast media content, comprising: receiving, by a televisionreceiver, a video stream containing the broadcast media content, whereinthe video stream is received via a tuner of the television receiver;determining, by the television receiver, a video segment of the videostream to be output to a display device; performing, by the televisionreceiver, OCR on characters present within the video segment; detecting,by the television receiver, a trigger event based on the OCR of thevideo segment, wherein the trigger event comprises an identified changedetected in the OCR of the video segment; after detecting the triggerevent, creating, by the television receiver, a digital bookmarkcorresponding to the trigger event being detected; in response todetecting the trigger event, generating, by the television receiver, arecording of a portion of the broadcast media content, wherein therecording of the portion of the broadcast media content begins prior tothe trigger event and concludes after the trigger event; and storing, bythe television receiver, the digital bookmark associated with thegenerated recording.
 2. The method for selectively recording the portionof broadcast media content of claim 1, comprising: determining, by thetelevision receiver, an availability status of the tuner for receivingthe video stream for OCR; and dedicating, by the television receiver,the tuner for receiving the video stream containing the broadcast mediacontent for OCR.
 3. The method for selectively recording the portion ofbroadcast media content of claim 1, comprising: outputting, by thetelevision receiver, the video segment at a monitoring location of adisplay screen on the display device.
 4. The method for selectivelyrecording the portion of broadcast media content of claim 1, comprising:receiving, by the television receiver, user input for specifying amonitoring location of a display screen on the display device; anddetermining, by the television receiver, the video segment of the videostream for OCR based on the specified monitoring location.
 5. The methodfor selectively recording the portion of broadcast media content ofclaim 1, comprising: wherein the video stream comprises a sportscompetition, wherein the video segment comprises a score display,wherein the characters comprise a score of the sports competition, andwherein the identified change comprises a change in the score of thesports competition.
 6. The method for selectively recording the portionof broadcast media content of claim 5, comprising: distinguishing, bythe television receiver, the score from other data in the video streamto determine the video segment, wherein the other data comprisesnumerical values.
 7. The method for selectively recording the portion ofbroadcast media content of claim 6, comprising: wherein the other datacomprises at least one of a time remaining and a game interval of thesports competition.
 8. The method for selectively recording the portionof broadcast media content of claim 1, comprising: continuouslyperforming, by the television receiver, OCR on the characters presentwithin the video segment at predetermined time intervals throughout abroadcast time of the broadcast media content.
 9. The method forselectively recording the portion of broadcast media content of claim 1,comprising: detecting, by the television receiver, a break in the videosegment, wherein the break comprises additional media content notdesirable for monitoring; pausing, by the television receiver, the OCRon the video segment during the detected break; detecting, by thetelevision receiver, an end of the break; and after determining thebreak has ended, resuming, by the television receiver, the OCR on thevideo segment.
 10. The method for selectively recording the portion ofbroadcast media content of claim 9, comprising: wherein the break in thevideo segment comprises one or more commercial events.
 11. The methodfor selectively recording the portion of broadcast media content ofclaim 9, comprising: wherein detecting the break in the video segmentcomprises determining, by the television receiver, a change in a contenttype of the video segment.
 12. The method for selectively recording theportion of broadcast media content of claim 1, comprising: receiving, bythe television receiver, user input for defining the trigger event todetect in the OCR of the video segment.
 13. The method for selectivelyrecording the portion of broadcast media content of claim 12,comprising: receiving, by the television receiver, user input forselecting a category type of the broadcast media content for OCR;identifying, by the television receiver, that the video stream matchesthe selected category type; and monitoring, by the television receiver,the video stream for the user-defined trigger event.
 14. The method forselectively recording the portion of broadcast media content of claim 1,comprising: inserting, by the television receiver, the digital bookmarkat a position in a file of the video stream, wherein the position isbased on a location of the detected trigger event in the file.
 15. Themethod for selectively recording the portion of broadcast media contentof claim 1, comprising: receiving, by the television receiver, userinput for selecting a first time duration for storing a buffer portionof the video stream prior to the detected trigger event, wherein alength of the buffer portion is based on the first time duration. 16.The method for selectively recording the portion of broadcast mediacontent of claim 1, comprising: receiving, by the television receiver,user input for selecting a second time duration for recording a trailingportion of the video stream immediately following the detected triggerevent, wherein a length of the recorded trailing portion is based on thesecond time duration.
 17. The method for selectively recording theportion of broadcast media content of claim 1, comprising: recording, bythe television receiver, the video stream for a duration of a broadcasttime of the broadcast media content; and creating, by the televisionreceiver, a plurality of digital bookmarks marking a plurality oftrigger events detected in the recorded video stream.
 18. The method forselectively recording the portion of broadcast media content of claim 1,comprising: outputting, by the television receiver, a bookmark displayfor the digital bookmark on the display device, wherein the bookmarkdisplay is configured to receive user input for selecting the digitalbookmark and displaying the recording.
 19. A computer-readable mediumhaving stored thereon a series of instructions which, when executed by aprocessor, cause the processor to selectively record a portion ofbroadcast media content by: receiving, by a television receiver, a videostream containing the broadcast media content, wherein the video streamis received via a tuner of the television receiver; determining, by thetelevision receiver, a video segment of the video stream to be output toa display device; performing, by the television receiver, OCR oncharacters present within the video segment; detecting, by thetelevision receiver, a trigger event based on the OCR of the videosegment, wherein the trigger event comprises an identified changedetected in the OCR of the video segment; after detecting the triggerevent, creating, by the television receiver, a digital bookmarkcorresponding to the trigger event being detected; after detecting thetrigger event, generating, by the television receiver, a recording of aportion of the broadcast media content, wherein the recording of theportion of the broadcast media content begins prior to the trigger eventand concludes after the trigger event; and storing, by the televisionreceiver, the digital bookmark associated with the generated recording.20. A system for selectively recording a portion of broadcast mediacontent, comprising: one or more processors; and a memorycommunicatively coupled with and readable by the one or more processorsand having stored therein processor-readable instructions that, whenexecuted by the one or more processors, cause the one or more processorto: receive, by a television receiver, a video stream containing thebroadcast media content, wherein the video stream is received via atuner of the television receiver; determine, by the television receiver,a video segment of the video stream to be output to a display device;perform, by the television receiver, OCR on characters present withinthe video segment; detect, by the television receiver, a trigger eventbased on the OCR of the video segment, wherein the trigger eventcomprises an identified change detected in the OCR of the video segment;after detecting the trigger event, create, by the television receiver, adigital bookmark corresponding to the trigger event being detected;after detecting the trigger event, generate, by the television receiver,a recording of a portion of the broadcast media content, wherein therecording of the portion of the broadcast media content begins prior tothe trigger event and concludes after the trigger event; and store, bythe television receiver, the digital bookmark associated with thegenerated recording.
 21. A method for bookmarking media content,comprising: determining, by a television receiver, a portion of themedia content to monitor for a trigger event; monitoring, by thetelevision receiver, the determined portion of the media content for thetrigger event; detecting, by the television receiver, the trigger eventin the media content; and after detecting the trigger event, creating,by the television receiver, a digital bookmark corresponding to thetrigger event being detected.
 22. The method for bookmarking mediacontent of claim 21, comprising: wherein the determined portion of themedia content to monitor comprises closed-caption data of the media, andwherein the trigger event comprises one or more keywords detected in theclosed-caption data.
 23. The method for bookmarking media content ofclaim 21, comprising: wherein the determined portion of the mediacontent to monitor comprises a video segment of the media content beingoutput to a display screen operatively connected to the televisionreceiver, and wherein detecting the trigger event comprises detecting achange in the video segment based on an OCR of the video segment. 24.The method for bookmarking media content of claim 21, comprising:wherein the media content is a pre-recorded media content; and whereinthe digital bookmark is added to a digital bookmarks file and points toa location of the trigger event in the pre-recorded media content. 25.The method for bookmarking media content of claim 21, comprising: afterdetecting the trigger event, creating, by the television receiver, arecording of the trigger event being detected, wherein the recordingbegins prior to the trigger event and concludes after the trigger event.